From: Florian Müllner Date: Fri, 29 Nov 2019 00:11:16 +0000 (+0100) Subject: switcherPopup: Fix scrollable check X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~781^2^2~353 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=867cffaf2093dbf3cad178356ea4716f02334073;p=gnome-shell.git switcherPopup: Fix scrollable check When commit c6cea277e replaced Shell.GenericContainer, the check whether the required width exceeds the avilable width was changed from using the minimum widths of items to the natural width of the scroll view. That doesn't work correctly, as the *natural* width may well exceed the actually used width: SwitcherList bases its width request on children's minimum sizes to force labels to ellipsize. Fix this by using the minimum width of the scroll view's child instead. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1834 --- diff --git a/js/ui/switcherPopup.js b/js/ui/switcherPopup.js index e5efcfaec..48f44c90f 100644 --- a/js/ui/switcherPopup.js +++ b/js/ui/switcherPopup.js @@ -575,10 +575,10 @@ var SwitcherList = GObject.registerClass({ let leftPadding = this.get_theme_node().get_padding(St.Side.LEFT); let rightPadding = this.get_theme_node().get_padding(St.Side.RIGHT); - let [, natScrollViewWidth] = this._scrollView.get_preferred_width(height); + let [minListWidth] = this._list.get_preferred_width(height); let childBox = new Clutter.ActorBox(); - let scrollable = natScrollViewWidth > width; + let scrollable = minListWidth > width; this._scrollView.allocate(contentBox, flags);